<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script>
    function addEvent(dom, type, fn) {
        if (dom.addEventListener) {
            // 支持DOM2级事件处理程序addEventListener方法的浏览器
            dom.addEventListener(type, fn, false);
        } else if (dom.attachEvent) {
            // 对于不支持addEventListener方法，但支持attachEvent方法的浏览器
            dom.attachEvent('on' + type, fn)
        } else {
            // 都不支持使用on+事件名
            dom['on' + type] = fn;
        }
    }
    // 获取事件对象
    var getEvent = function(event) {
        return event || window.event;
    }
    // 获取触发事件的元素
    var getTarget = function(event) {
        var event = getEvent(event);
        return event.target || event.srcElement;
    }
    // 阻止默认行为
    var preventDefault = function(event) {
        var event = getEvent(event);
        if (event.preventDefault) {
            event.preventDefault();
        } else {
            event.returnValue = false;
        }
    }
    // jquery中的$,css,attr,html,on都是外观模式的实践
    </script>
</body>

</html>